home *** CD-ROM | disk | FTP | other *** search
/ MacAddict 104 / MacAddict_104_2005-04.iso / Software / Internet & Communication / WordPress 1.2.2 freeware.dmg / wordpress / wp-admin / profile.php < prev    next >
PHP Script  |  2004-10-06  |  14KB  |  366 lines

  1. <?php 
  2. require_once('../wp-includes/wp-l10n.php');
  3.  
  4. $title = "Profile";
  5. /* <Profile | My Profile> */
  6.  
  7. function add_magic_quotes($array) {
  8.     foreach ($array as $k => $v) {
  9.         if (is_array($v)) {
  10.             $array[$k] = add_magic_quotes($v);
  11.         } else {
  12.             $array[$k] = addslashes($v);
  13.         }
  14.     }
  15.     return $array;
  16.  
  17. if (!get_magic_quotes_gpc()) {
  18.     $_GET    = add_magic_quotes($_GET);
  19.     $_POST   = add_magic_quotes($_POST);
  20.     $_COOKIE = add_magic_quotes($_COOKIE);
  21. }
  22.  
  23. $wpvarstoreset = array('action','standalone','redirect','profile','user');
  24. for ($i=0; $i<count($wpvarstoreset); $i += 1) {
  25.     $wpvar = $wpvarstoreset[$i];
  26.     if (!isset($$wpvar)) {
  27.         if (empty($_POST["$wpvar"])) {
  28.             if (empty($_GET["$wpvar"])) {
  29.                 $$wpvar = '';
  30.             } else {
  31.                 $$wpvar = $_GET["$wpvar"];
  32.             }
  33.         } else {
  34.             $$wpvar = $_POST["$wpvar"];
  35.         }
  36.     }
  37. }
  38.  
  39. require_once('../wp-config.php');
  40. require_once('auth.php');
  41. switch($action) {
  42.  
  43. case 'update':
  44.  
  45.     get_currentuserinfo();
  46.  
  47.     /* checking the nickname has been typed */
  48.     if (empty($_POST["newuser_nickname"])) {
  49.         die (__("<strong>ERROR</strong>: please enter your nickname (can be the same as your login)"));
  50.         return false;
  51.     }
  52.  
  53.     /* if the ICQ UIN has been entered, check to see if it has only numbers */
  54.     if (!empty($_POST["newuser_icq"])) {
  55.         if ((ereg("^[0-9]+$",$_POST["newuser_icq"]))==false) {
  56.             die (__("<strong>ERROR</strong>: your ICQ UIN can only be a number, no letters allowed"));
  57.             return false;
  58.         }
  59.     }
  60.  
  61.     /* checking e-mail address */
  62.     if (empty($_POST["newuser_email"])) {
  63.         die (__("<strong>ERROR</strong>: please type your e-mail address"));
  64.         return false;
  65.     } else if (!is_email($_POST["newuser_email"])) {
  66.         die (__("<strong>ERROR</strong>: the email address isn't correct"));
  67.         return false;
  68.     }
  69.  
  70.     if ($_POST["pass1"] == "") {
  71.         if ($_POST["pass2"] != "")
  72.             die (__("<strong>ERROR</strong>: you typed your new password only once. Go back to type it twice."));
  73.         $updatepassword = "";
  74.     } else {
  75.         if ($_POST["pass2"] == "")
  76.             die (__("<strong>ERROR</strong>: you typed your new password only once. Go back to type it twice."));
  77.         if ($_POST["pass1"] != $_POST["pass2"])
  78.             die (__("<strong>ERROR</strong>: you typed two different passwords. Go back to correct that."));
  79.         $newuser_pass = $_POST["pass1"];
  80.         $updatepassword = "user_pass=MD5('$newuser_pass'), ";
  81.         setcookie('wordpresspass_'.$cookiehash, " ", time() - 31536000, COOKIEPATH);
  82.         setcookie('wordpresspass_'.$cookiehash, md5(md5($newuser_pass)), time() + 31536000, COOKIEPATH);
  83.     }
  84.  
  85.     $newuser_firstname=addslashes(stripslashes($_POST['newuser_firstname']));
  86.     $newuser_lastname=addslashes(stripslashes($_POST['newuser_lastname']));
  87.     $newuser_nickname=addslashes(stripslashes($_POST['newuser_nickname']));
  88.     $newuser_icq=addslashes(stripslashes($_POST['newuser_icq']));
  89.     $newuser_aim=addslashes(stripslashes($_POST['newuser_aim']));
  90.     $newuser_msn=addslashes(stripslashes($_POST['newuser_msn']));
  91.     $newuser_yim=addslashes(stripslashes($_POST['newuser_yim']));
  92.     $newuser_email=addslashes(stripslashes($_POST['newuser_email']));
  93.     $newuser_url=addslashes(stripslashes($_POST['newuser_url']));
  94.     $newuser_idmode=addslashes(stripslashes($_POST['newuser_idmode']));
  95.     $user_description = addslashes(stripslashes($_POST['user_description']));
  96.  
  97.     $query = "UPDATE $tableusers SET user_firstname='$newuser_firstname', $updatepassword user_lastname='$newuser_lastname', user_nickname='$newuser_nickname', user_icq='$newuser_icq', user_email='$newuser_email', user_url='$newuser_url', user_aim='$newuser_aim', user_msn='$newuser_msn', user_yim='$newuser_yim', user_idmode='$newuser_idmode', user_description = '$user_description' WHERE ID = $user_ID";
  98.     $result = $wpdb->query($query);
  99.     if (!$result) {
  100.         die (__("<strong>ERROR</strong>: couldn't update your profile..."));
  101.     }
  102.     header('Location: profile.php?updated=true');
  103. break;
  104.  
  105. case 'viewprofile':
  106.  
  107.  
  108.     $profiledata = get_userdata($user);
  109.     if ($_COOKIE['wordpressuser_'.$cookiehash] == $profiledata->user_login)
  110.         header ('Location: profile.php');
  111.     
  112.     include_once('admin-header.php');
  113.     ?>
  114.  
  115. <h2><?php _e('View Profile') ?> “
  116.   <?php
  117.     switch($profiledata->user_idmode) {
  118.         case 'nickname':
  119.             $r = $profiledata->user_nickname;
  120.             break;
  121.         case 'login':
  122.             $r = $profiledata->user_login;
  123.             break;
  124.         case 'firstname':
  125.             $r = $profiledata->user_firstname;
  126.             break;
  127.         case 'lastname':
  128.             $r = $profiledata->user_lastname;
  129.             break;
  130.         case 'namefl':
  131.             $r = $profiledata->user_firstname.' '.$profiledata->user_lastname;
  132.             break;
  133.          case 'namelf':
  134.             $r = $profiledata->user_lastname.' '.$profiledata->user_firstname;
  135.             break;
  136.     }
  137.     echo $r;
  138.     ?>
  139.   ”</h2>
  140.       
  141.   <div id="profile">
  142. <p> 
  143.   <strong><?php _e('Login') ?></strong> <?php echo $profiledata->user_login ?>
  144.   | <strong><?php _e('User #') ?></strong> <?php echo $profiledata->ID ?> | <strong><?php _e('Level') ?></strong> 
  145.   <?php echo $profiledata->user_level ?> | <strong><?php _e('Posts') ?></strong> 
  146.   <?php
  147.     $posts = get_usernumposts($user);
  148.     echo $posts;
  149.     ?>
  150. </p>
  151.  
  152. <p> <strong><?php _e('First name:') ?></strong> <?php echo $profiledata->user_firstname ?> </p>
  153.   
  154. <p> <strong><?php _e('Last name:') ?></strong> <?php echo $profiledata->user_lastname ?> </p>
  155.   
  156. <p> <strong><?php _e('Nickname:') ?></strong> <?php echo $profiledata->user_nickname ?> </p>
  157.   
  158. <p> <strong><?php _e('Email:') ?></strong> <?php echo make_clickable($profiledata->user_email) ?> 
  159. </p>
  160.   
  161. <p> <strong><?php _e('Website:') ?></strong> <?php echo $profiledata->user_url ?> </p>
  162.   
  163. <p> <strong><?php _e('ICQ:') ?></strong> 
  164.   <?php if ($profiledata->user_icq > 0) { echo make_clickable("icq:".$profiledata->user_icq); } ?>
  165. </p>
  166.   
  167. <p> <strong><?php _e('AIM:') ?></strong> <?php echo "<a href='aim:goim?screenname=". str_replace(' ', '+', $profiledata->user_aim) ."&message=Howdy'>$profiledata->user_aim</a>"; ?> 
  168. </p>
  169.   
  170. <p> <strong><?php _e('MSN IM:') ?></strong> <?php echo $profiledata->user_msn ?> </p>
  171.   
  172. <p> <strong><?php _e('Yahoo IM:') ?></strong> <?php echo $profiledata->user_yim ?> </p>
  173.   
  174. </div>
  175.  
  176.     <?php
  177.  
  178. break;
  179.  
  180.  
  181. case 'IErightclick':
  182.  
  183.  
  184.     $bookmarklet_tbpb  = (get_settings('use_trackback')) ? '&trackback=1' : '';
  185.     $bookmarklet_tbpb .= (get_settings('use_pingback'))  ? '&pingback=1'  : '';
  186.     $bookmarklet_height= (get_settings('use_trackback')) ? 590 : 550;
  187.  
  188.     ?>
  189.  
  190.     <div class="menutop"> IE one-click bookmarklet</div>
  191.  
  192.     <table width="100%" cellpadding="20">
  193.     <tr><td>
  194.  
  195.     <p>To have a one-click bookmarklet, just copy and paste this<br />into a new text file:</p>
  196.     <?php
  197.     $regedit = "REGEDIT4\r\n[HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\MenuExt\Post To &WP : ". get_settings('blogname') ."]\r\n@=\"javascript:doc=external.menuArguments.document;Q=doc.selection.createRange().text;void(btw=window.open('". get_settings('siteurl') ."/wp-admin/bookmarklet.php?text='+escape(Q)+'".$bookmarklet_tbpb."&popupurl='+escape(doc.location.href)+'&popuptitle='+escape(doc.title),'bookmarklet','scrollbars=no,width=480,height=".$bookmarklet_height.",left=100,top=150,status=yes'));btw.focus();\"\r\n\"contexts\"=hex:31\"";
  198.     ?>
  199.     <pre style="margin: 20px; background-color: #cccccc; border: 1px dashed #333333; padding: 5px; font-size: 12px;"><?php echo $regedit; ?></pre>
  200.     <p>Save it as wordpress.reg, and double-click on this file in an Explorer<br />
  201.     window. Answer Yes to the question, and restart Internet Explorer.<br /><br />
  202.     That's it, you can now right-click in an IE window and select <br />
  203.     'Post to WP' to make the bookmarklet appear. :)</p>
  204.  
  205.     <p align="center">
  206.       <form>
  207.         <input class="search" type="button" value="1" name="Close this window" />
  208.       </form>
  209.     </p>
  210.     </td></tr>
  211.     </table>
  212.     <?php
  213.  
  214. break;
  215.  
  216.  
  217. default:
  218.  
  219.     include_once('admin-header.php');
  220.     $profiledata=get_userdata($user_ID);
  221.  
  222.     $bookmarklet_tbpb  = (get_settings('use_trackback')) ? '&trackback=1' : '';
  223.     $bookmarklet_tbpb .= (get_settings('use_pingback'))  ? '&pingback=1'  : '';
  224.     $bookmarklet_height= (get_settings('use_trackback')) ? 480 : 440;
  225.  
  226.     ?>
  227. <?php if (isset($updated)) { ?>
  228. <div class="updated">
  229. <p><strong><?php _e('Profile updated.') ?></strong></p>
  230. </div>
  231. <?php } ?>
  232. <div class="wrap">
  233. <h2><?php _e('Profile'); ?></h2>
  234. <form name="profile" id="profile" action="profile.php" method="post">
  235.     <p>
  236.     <input type="hidden" name="action" value="update" />
  237.     <input type="hidden" name="checkuser_id" value="<?php echo $user_ID ?>" />
  238.   </p>
  239.  
  240.     <style type="text/css" media="screen">
  241.     th { text-align: right; }
  242.     </style>
  243.   <table width="99%"  border="0" cellspacing="2" cellpadding="3">
  244.     <tr>
  245.       <th width="33%" scope="row"><?php _e('Login:') ?></th>
  246.       <td width="73%"><?php echo $profiledata->user_login; ?></td>
  247.     </tr>
  248.     <tr>
  249.       <th scope="row"><?php _e('Level:') ?></th>
  250.       <td><?php echo $profiledata->user_level; ?></td>
  251.     </tr>
  252.     <tr>
  253.       <th scope="row"><?php _e('Posts:') ?></th>
  254.       <td>    <?php
  255.     $posts = get_usernumposts($user_ID);
  256.     echo $posts;
  257.     ?></td>
  258.     </tr>
  259.     <tr>
  260.       <th scope="row"><?php _e('First name:') ?></th>
  261.       <td><input type="text" name="newuser_firstname" id="newuser_firstname" value="<?php echo $profiledata->user_firstname ?>" /></td>
  262.     </tr>
  263.     <tr>
  264.       <th scope="row"><?php _e('Last name:') ?></th>
  265.       <td><input type="text" name="newuser_lastname" id="newuser_lastname2" value="<?php echo $profiledata->user_lastname ?>" /></td>
  266.     </tr>
  267.     <tr>
  268.       <th scope="row"><?php _e('Profile:') ?></th>
  269.       <td><textarea name="user_description" rows="5" id="textarea2" style="width: 99%; "><?php echo $profiledata->user_description ?></textarea></td>
  270.     </tr>
  271.     <tr>
  272.       <th scope="row"><?php _e('Nickname:') ?></th>
  273.       <td><input type="text" name="newuser_nickname" id="newuser_nickname2" value="<?php echo $profiledata->user_nickname ?>" /></td>
  274.     </tr>
  275.     <tr>
  276.       <th scope="row"><?php _e('Email:') ?></th>
  277.       <td><input type="text" name="newuser_email" id="newuser_email2" value="<?php echo $profiledata->user_email ?>" /></td>
  278.     </tr>
  279.     <tr>
  280.       <th scope="row"><?php _e('Website:') ?></th>
  281.       <td><input type="text" name="newuser_url" id="newuser_url2" value="<?php echo $profiledata->user_url ?>" /></td>
  282.     </tr>
  283.     <tr>
  284.       <th scope="row"><?php _e('ICQ:') ?></th>
  285.       <td><input type="text" name="newuser_icq" id="newuser_icq2" value="<?php if ($profiledata->user_icq > 0) { echo $profiledata->user_icq; } ?>" /></td>
  286.     </tr>
  287.     <tr>
  288.       <th scope="row"><?php _e('AIM:') ?></th>
  289.       <td><input type="text" name="newuser_aim" id="newuser_aim2" value="<?php echo $profiledata->user_aim ?>" /></td>
  290.     </tr>
  291.     <tr>
  292.       <th scope="row"><?php _e('MSN IM:') ?> </th>
  293.       <td><input type="text" name="newuser_msn" id="newuser_msn2" value="<?php echo $profiledata->user_msn ?>" /></td>
  294.     </tr>
  295.     <tr>
  296.       <th scope="row"><?php _e('Yahoo IM:') ?> </th>
  297.       <td>        <input type="text" name="newuser_yim" id="newuser_yim2" value="<?php echo $profiledata->user_yim ?>" />      </td>
  298.     </tr>
  299.     <tr>
  300.       <th scope="row"><?php _e('Identity on blog:') ?> </th>
  301.       <td><select name="newuser_idmode">
  302.         <option value="nickname"<?php
  303.     if ($profiledata->user_idmode == 'nickname')
  304.     echo " selected"; ?>><?php echo $profiledata->user_nickname ?></option>
  305.         <option value="login"<?php
  306.     if ($profiledata->user_idmode=="login")
  307.     echo " selected"; ?>><?php echo $profiledata->user_login ?></option>
  308.         <option value="firstname"<?php
  309.     if ($profiledata->user_idmode=="firstname")
  310.     echo " selected"; ?>><?php echo $profiledata->user_firstname ?></option>
  311.         <option value="lastname"<?php
  312.     if ($profiledata->user_idmode=="lastname")
  313.     echo " selected"; ?>><?php echo $profiledata->user_lastname ?></option>
  314.         <option value="namefl"<?php
  315.     if ($profiledata->user_idmode=="namefl")
  316.     echo " selected"; ?>><?php echo $profiledata->user_firstname." ".$profiledata->user_lastname ?></option>
  317.         <option value="namelf"<?php
  318.     if ($profiledata->user_idmode=="namelf")
  319.     echo " selected"; ?>><?php echo $profiledata->user_lastname." ".$profiledata->user_firstname ?></option>
  320.       </select>        </td>
  321.     </tr>
  322.     <tr>
  323.       <th scope="row"><?php _e('New <strong>Password</strong> (Leave blank to stay the same.)') ?></th>
  324.       <td><input type="password" name="pass1" size="16" value="" />
  325.           <br>
  326.         <input type="password" name="pass2" size="16" value="" /></td>
  327.     </tr>
  328.   </table>
  329.   <p class="submit">
  330.     <input type="submit" value="<?php _e('Update Profile »') ?>" name="submit" />
  331.   </p>
  332.     </div>
  333. </form>
  334. </div>
  335. <?php if ($is_gecko && $profiledata->user_level != 0) { ?>
  336. <div class="wrap">
  337.     <script language="JavaScript" type="text/javascript">
  338. function addPanel()
  339.         {
  340.           if ((typeof window.sidebar == "object") && (typeof window.sidebar.addPanel == "function"))
  341.             window.sidebar.addPanel("WordPress Post: <?php echo get_settings('blogname'); ?>","<?php echo get_settings('siteurl'); ?>/wp-admin/sidebar.php","");
  342.           else
  343.             alert(<?php __("'No Sidebar found!  You must use Mozilla 0.9.4 or later!'") ?>);
  344.         }
  345. </script>
  346.     <strong>SideBar</strong><br />
  347.     Add the <a href="#" onClick="addPanel()">WordPress Sidebar</a>! 
  348.     <?php } elseif (($is_winIE) || ($is_macIE)) { ?>
  349.     <strong>SideBar</strong><br />
  350.     Add this link to your favorites:<br />
  351.     <a href="javascript:Q='';if(top.frames.length==0)Q=document.selection.createRange().text;void(_search=open('<?php echo get_settings('siteurl');
  352.      ?>/wp-admin/sidebar.php?text='+escape(Q)+'&popupurl='+escape(location.href)+'&popuptitle='+escape(document.title),'_search'))">WordPress 
  353.     Sidebar</a>. 
  354.     
  355. </div>
  356. <?php } ?>
  357.     <?php
  358.  
  359. break;
  360. }
  361.  
  362. /* </Profile | My Profile> */
  363. include('admin-footer.php');
  364.  ?>
  365.